package com.rapida.plugin;

import java.util.List;

public interface IPlugin {
	public static int PLUGIN_INDEX_NONE = -1;

	public static interface PluginAgent {
		public int getPluginId();

		public PluginController createPlugin() throws Exception;
	}

	void registerPlugin(PluginAgent agent);

	boolean unregisterPlugin(int PluginId);

	List<PluginAgent> getRegisteredPluginAgents();

	List<Integer> getSupportedModeIndexList();

	PluginAgent getPluginAgent(int PluginId);
}
